<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>易读小说采集规则管理系统</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

<link rel="stylesheet" type="text/css" href="webjars/bootstrap/3.3.7/css/bootstrap.min.css" />
<link rel="stylesheet" th:href="@{/css/main.css}" href="../../css/main.css" />
<link rel="stylesheet" th:href="@{/css/fc.min.css}" />

</head>
<body>
	<nav class="navbar navbar-inverse">
		<div class="container">
			<div class="navbar-header">
				<a class="navbar-brand" href="#" th:href="@{/}">易读小说采集规则管理</a>
			</div>
			<div id="navbar" class="collapse navbar-collapse">
				<ul class="nav navbar-nav">
					<li class="active"><a href="#" th:href="@{/modify}">创建新规则</a></li>
					<li><a href="#about">关于</a></li>
				</ul>
			</div>
		</div>
	</nav>

	<div class="container">
		<div class="starter-template">
			<h1>规则作成与修改</h1>
			<h2 th:if="${validationError}" th:text="${validationError}">validation error</h2>
			<form id="ruleForm" action="/doCreate" th:action="@{/doCreate}" th:object="${ruleform}" method="post" class="form-horizontal" role="form">
				<div class="widget-box">
					<div class="widget-header widget-header-blue widget-header-flat">
						<h2>基本信息</h2>
					</div>
					<div class="widget-body">
						<div class="widget-main">
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="RuleVersion">规则版本(RuleVersion)</label>
								<div class="col-sm-10">
									<input type="text" id="ruleVersion" name="ruleVersion" th:field="*{ruleVersion}" placeholder="规则版本" class="col-xs-10 col-sm-5"/>
									<span class="help-block">本次新增规则版本， 默认为1</span>
									<span th:if="${#fields.hasErrors('ruleVersion')}" th:errors="*{ruleVersion}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="getSiteName">站点名称(GetSiteName)</label>
								<div class="col-sm-10">
									<input type="text" id="getSiteName" name="getSiteName" th:field="*{getSiteName}" placeholder="站点名称" class="col-xs-10 col-sm-5" /> 
									<span class="help-block">目标站点名称， 方便规则作者区分多个规则 </span>
									<span th:if="${#fields.hasErrors('getSiteName')}" th:errors="*{getSiteName}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="getSiteCharset">站点编码(GetSiteCharset)</label>
								<div class="col-sm-10">
									<input type="text" id="getSiteCharset" name="getSiteCharset" th:field="*{getSiteCharset}" placeholder="站点编码" class="col-xs-10 col-sm-5" />
									<span class="help-block"> 目标站点的编码， 如果留空则程序抓取数据的时候会使用目标站编码 </span>
									<span th:if="${#fields.hasErrors('getSiteCharset')}" th:errors="*{getSiteCharset}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="getSiteUrl">站点地址(GetSiteUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="getSiteUrl" name="getSiteUrl" th:field="*{getSiteUrl}" placeholder="站点地址 " class="col-xs-10 col-sm-5" />
									<span class="help-block">目标站URL， 如果后续规则中使用了相对路径， 则会用到此处的值， 建议填写 </span>
									<span th:if="${#fields.hasErrors('getSiteUrl')}" th:errors="*{getSiteUrl}" class="help-block">error!</span>
								</div>
							</div>
						</div>
					</div>
				</div>

				<div class="widget-box">
					<div class="widget-header widget-header-blue widget-header-flat">
						<h2>根据本站小说名查找目标站小说</h2>
					</div>
					<div class="widget-body">
						<div class="widget-main">
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelSearchUrl">搜索页地址(NovelSearchUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="novelSearchUrl" name="novelSearchUrl" th:field="*{novelSearchUrl}" placeholder="目标站搜索页地址 " class="col-xs-10 col-sm-5"/>
									<span class="help-block">目标站的搜索页地址，小说名使用{SearchNovelName}代替</span>
									<span th:if="${#fields.hasErrors('novelSearchUrl')}" th:errors="*{novelSearchUrl}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="testSearchNovelName">测试用小说名(TestSearchNovelName)</label>
								<div class="col-sm-10">
									<input type="text" id="testSearchNovelName" name="testSearchNovelName" th:field="*{testSearchNovelName}" placeholder="目标站搜索页地址 " class="col-xs-10 col-sm-5"/>
									<span class="help-block">测试用的小说名，正常采集不会用到</span>
									<span th:if="${#fields.hasErrors('testSearchNovelName')}" th:errors="*{testSearchNovelName}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelSearchGetNovelKey">获得目标站小说号(NovelSearch_GetNovelKey)</label>
								<div class="col-sm-10">
									<input type="text" id="novelSearchGetNovelKey" name="novelSearchGetNovelKey" th:field="*{novelSearchGetNovelKey}" placeholder="从搜索结果中获得小说名和小说编号 " class="col-xs-10 col-sm-5"/>
									<span class="help-block">根据目标站搜索页地址和搜索参数获取需要搜索的小说名和小说编号，如果获取的小说名和搜索参数中的小说名一致， 则使用获取的小说编号进行抓取</span>
									<span th:if="${#fields.hasErrors('novelSearchGetNovelKey')}" th:errors="*{novelSearchGetNovelKey}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelSearchGetNovelName">获得目标站小说名(NovelSearch_GetNovelName)</label>
								<div class="col-sm-10">
									<input type="text" id="novelSearchGetNovelName" name="novelSearchGetNovelName" th:field="*{novelSearchGetNovelName}" placeholder="从搜索结果中获得小说名和小说编号 " class="col-xs-10 col-sm-5" />
									<span class="help-block">过滤掉搜索结果中的长尾词</span>
									<span th:if="${#fields.hasErrors('novelSearchGetNovelName')}" th:errors="*{novelSearchGetNovelName}" class="help-block">error!</span>
								</div>
							</div>
						</div>
					</div>
				</div>
				<div class="widget-box">
					<div class="widget-header widget-header-blue widget-header-flat">
						<h2 class="widget-title lighter">小说信息-章节列表规则</h2>
					</div>
					<div class="widget-body">
						<div class="widget-main">
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelListUrl">列表地址(NovelListUrl)</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="novelListUrl" name="novelListUrl" th:field="*{novelListUrl}" placeholder="列表地址,一行一个"></textarea>
									<span class="help-block">填写从目标站点获取小说编号的页面，每行一个</span>
									<span th:if="${#fields.hasErrors('novelListUrl')}" th:errors="*{novelListUrl}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelListGetNovelKey">获得小说编号(NovelList_GetNovelKey)</label>
								<div class="col-sm-10">
									<input type="text" id="novelListGetNovelKey" name="novelListGetNovelKey" th:field="*{novelListGetNovelKey}" placeholder="获得小说编号 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
									   <label class="middle">
									       <input type="checkbox" id="novelListGetNovelKeyIgnoreCase" name="novelListGetNovelKeyIgnoreCase"  th:field="*{novelListGetNovelKeyIgnoreCase}" value="IgnoreCase" /> 
									       <span class="lbl">忽略大小写</span>
									   </label>
									</span> 
									<span class="help-block">从上面所填的页面获得小说编号,此规则中可以同时获得书名以方便手动时查看,此获得结果存入{NovelKey}变量</span>
									<span th:if="${#fields.hasErrors('novelListGetNovelKey')}" th:errors="*{novelListGetNovelKey}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelListGetNovelKey2">获得真实小说编号(NovelList_GetNovelKey2)</label>
								<div class="col-sm-10">
									<input type="text" id="novelListGetNovelKey2" name="novelListGetNovelKey2" th:field="*{novelListGetNovelKey2}" placeholder="获得小说编号 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
										<label class="middle">
											<input type="checkbox" id="novelListGetNovelKey2IgnoreCase" name="novelListGetNovelKey2IgnoreCase" th:field="*{novelListGetNovelKey2IgnoreCase}" value="IgnoreCase" />
											<span class="lbl">忽略大小写</span>
										</label>
									</span>
									<span class="help-block">真正的小说号,数字或字母, 是上面规则的子集,如上面规则获取的结果是/bk/xh/123.html,这里的规则就要填/bk/xh/(\d*).html,此获得结果存入{NovelKey2}变量,此规则为加强规则,一般不需要填写</span>
									<span th:if="${#fields.hasErrors('novelListGetNovelKey2')}" th:errors="*{novelListGetNovelKey2}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelUrl">小说信息页地址(NovelUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="novelUrl" name="novelUrl" th:field="*{novelUrl}" placeholder="小说信息页地址 " class="col-xs-10 col-sm-5" />
									<span class="help-block">小说信息页地址可调用{NovelKey}变量, {NovelKey}一般情况表示小说编号</span>
									<span th:if="${#fields.hasErrors('novelUrl')}" th:errors="*{novelUrl}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelName">获得小说名(NovelName)</label>
								<div class="col-sm-10">
									<input type="text" id="novelName" name="novelName" th:field="*{novelName}" placeholder="获得小说名 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
										<input type="checkbox" id="novelNameIgnoreCase" name="novelNameIgnoreCase" th:field="*{novelNameIgnoreCase}" value="IgnoreCase" />
										<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span class="help-block"></span>
									<span th:if="${#fields.hasErrors('novelName')}" th:errors="*{novelName}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelNameFilterPattern">小说名替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="novelNameFilterPattern" name="novelNameFilterPattern" th:field="*{novelNameFilterPattern}" placeholder="小说名替换规则,一行一个"></textarea>
									<span th:if="${#fields.hasErrors('novelNameFilterPattern')}" th:errors="*{novelNameFilterPattern}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelAuthor">获得小说作者(NovelAuthor)</label>
								<div class="col-sm-10">
									<input type="text" id="novelAuthor" name="novelAuthor" th:field="*{novelAuthor}" placeholder="获得小说作者 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
										<label class="middle">
											<input type="checkbox" id="novelAuthorIgnoreCase" name="novelAuthorIgnoreCase" th:field="*{novelAuthorIgnoreCase}" value="IgnoreCase" />
											<span class="lbl">忽略大小写</span>
										</label>
									</span>
									<span th:if="${#fields.hasErrors('novelAuthor')}" th:errors="*{novelNameFilterPattern}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="lagerSort">获得小说大类(LagerSort)</label>
								<div class="col-sm-10">
									<input type="text" id="lagerSort" name="lagerSort" th:field="*{lagerSort}" placeholder="获得小说大类 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
										<label class="middle">
											<input type="checkbox" id="lagerSortIgnoreCase" name="lagerSortIgnoreCase" th:field="*{lagerSortIgnoreCase}" value="IgnoreCase" />
											<span class="lbl">忽略大小写</span>
										</label>
									</span>
									<span class="help-block"></span>
									<span th:if="${#fields.hasErrors('lagerSort')}" th:errors="*{lagerSort}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="smallSort">获得小说小类(SmallSort)</label>
								<div class="col-sm-10">
									<input type="text" id="smallSort" name="smallSort" th:field="*{smallSort}" placeholder="获得小说小类 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
										<label class="middle">
											<input type="checkbox" id="smallSortIgnoreCase" name="smallSortIgnoreCase" th:field="*{smallSortIgnoreCase}" value="IgnoreCase"/>
											<span class="lbl">忽略大小写</span>
										</label>
									</span>
									<span class="help-block">获得小说小类正则，如果不知道怎么填就重复一次大类的规则</span>
									<span th:if="${#fields.hasErrors('smallSort')}" th:errors="*{smallSort}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelIntro">获得小说简介(NovelIntro)</label>
								<div class="col-sm-10">
									<input type="text" id="novelIntro" name="novelIntro" th:field="*{novelIntro}" placeholder="获得小说简介 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
										<label class="middle">
											<input type="checkbox" id="novelIntroIgnoreCase" name="novelIntroIgnoreCase" th:field="*{novelIntroIgnoreCase}" value="IgnoreCase"/>
											<span class="lbl">忽略大小写</span>
										</label>
									</span>
									<span class="help-block"></span>
									<span th:if="${#fields.hasErrors('novelIntro')}" th:errors="*{novelIntro}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelIntroFilterPattern">小说简介替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="novelIntroFilterPattern" name="novelIntroFilterPattern" th:field="*{novelIntroFilterPattern}" placeholder="小说简介替换规则,一行一个"></textarea>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelKeyword">获得关键字(NovelKeyword)</label>
								<div class="col-sm-10">
									<input type="text" id="novelKeyword" name="novelKeyword" th:field="*{novelKeyword}" placeholder="获得关键字 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
										<input type="checkbox" id="novelKeywordIgnoreCase" name="novelKeywordIgnoreCase" th:field="*{novelKeywordIgnoreCase}" value="IgnoreCase"/>
										<span class="lbl">忽略大小写</span>
									</label>
									</span> <span class="help-block">获得关键字称正则,不知道怎么填就留空或者填入获取主角的正则</span>
									<span th:if="${#fields.hasErrors('novelKeyword')}" th:errors="*{novelKeyword}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelDegree">获得写作进度(NovelDegree)</label>
								<div class="col-sm-10">
									<input type="text" id="novelDegree" name="novelDegree" th:field="*{novelDegree}" placeholder="获得写作进度 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="novelDegreeIgnoreCase" name="novelDegreeIgnoreCase" th:field="*{novelDegreeIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span> <span class="help-block"></span>
									<span th:if="${#fields.hasErrors('novelDegree')}" th:errors="*{novelDegree}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelDegreeFilterPattern">写作进度替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="novelDegreeFilterPattern" name="novelDegreeFilterPattern"  th:field="*{novelDegreeFilterPattern}" placeholder="写作进度替换规则,一行一个">${NovelDegree.filterPattern!'' }</textarea>
									<span class="help-block">删除字符串， 直接写就是， 替换字符串写法类似源字符串♂替换后的字符串</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelCover">获得小说封面(NovelCover)</label>
								<div class="col-sm-10">
									<input type="text" id="novelCover" name="novelCover" th:field="*{novelCover}" placeholder="获得小说封面 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="novelCoverIgnoreCase" name="novelCoverIgnoreCase" th:field="*{novelCoverIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span th:if="${#fields.hasErrors('novelCover')}" th:errors="*{novelCover}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelDefaultCoverUrl">小说默认封面(NovelDefaultCoverUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="novelDefaultCoverUrl" name="novelDefaultCoverUrl" th:field="*{novelDefaultCoverUrl}" placeholder="小说默认封面 " class="col-xs-10 col-sm-5"/>
									<span class="help-block">目标站默认封面地址不存在，则按此规则采集封面</span>
									<span th:if="${#fields.hasErrors('novelDefaultCoverUrl')}" th:errors="*{novelDefaultCoverUrl}" class="help-block">error!</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelInfoExtra">获取信息页额外信息(NovelInfoExtra)</label>
								<div class="col-sm-10">
									<input type="text" id="novelInfoExtra" name="novelInfoExtra" th:field="*{novelInfoExtra}" placeholder="获得信息页额外信息 " class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="novelInfoExtraIgnoreCase" name="novelInfoExtraIgnoreCase" th:field="*{novelInfoExtraIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span> <span class="help-block"></span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelInfoExtraFilterPattern">信息页额外信息替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="novelInfoExtraFilterPattern" name="novelInfoExtraFilterPattern" th:field="*{novelInfoExtraFilterPattern}" placeholder="信息页额外信息替换规则,一行一个"></textarea>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="novelInfoGetNovelPubKey">目录页地址(抓取)(NovelInfo_GetNovelPubKey)</label>
								<div class="col-sm-10">
									<input type="text" id="novelInfoGetNovelPubKey" name="novelInfoGetNovelPubKey" th:field="*{novelInfoGetNovelPubKey}" placeholder="目录页地址 " class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="novelInfoGetNovelPubKeyIgnoreCase" name="novelInfoGetNovelPubKeyIgnoreCase" th:field="*{novelInfoGetNovelPubKeyIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span class="help-block">从信息页抓取目录页地址， 和指定目录页地址选填一个即可</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubIndexUrl">目录页地址(指定)(PubIndexUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="pubIndexUrl" name="pubIndexUrl" th:field="*{pubIndexUrl}" placeholder="目录页地址 " class="col-xs-10 col-sm-5" />
									<span class="help-block">指定目录页地址，可调用{NovelPubKey}、{NovelKey}变量， 和抓取目录页地址选填一个即可</span>
								</div>
							</div>
							<div class="clearfix">
								<div class="col-md-offset-3 col-md-9">
									<button class="btn btn-warning" type="button" onclick="testRule()">
										<i class="ace-icon fa fa-caret-square-o-right bigger-110"></i>测试
									</button>
								</div>
							</div>
						</div>
					</div>
				</div>

				<div class="widget-box">
					<div class="widget-header widget-header-blue widget-header-flat">
						<h2>章节内容</h2>
					</div>
					<div class="widget-body">
						<div class="widget-main">
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubChapterRegion">章节范围 (PubChapterRegion)</label>
								<div class="col-sm-10">
									<input type="text" id="pubChapterRegion" name="pubChapterRegion" th:field="*{pubChapterRegion}" placeholder="章节采集范围" class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="pubChapterRegionIgnoreCase" name="pubChapterRegionIgnoreCase" th:field="*{pubChapterRegionIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span class="help-block">指定章节采集范围， 例如只采集前十章，则在这里取出前十章对应的源码</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubChapterName">章节名 (PubChapterName)</label>
								<div class="col-sm-10">
									<input type="text" id="pubChapterName" name="pubChapterName" th:field="*{pubChapterName}" placeholder="章节名" class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="pubChapterNameIgnoreCase" name="pubChapterNameIgnoreCase" th:field="*{pubChapterNameIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span class="help-block"></span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubChapterNameFilterPattern">章节名替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="pubChapterNameFilterPattern" name="pubChapterNameFilterPattern" th:field="*{pubChapterNameFilterPattern}" placeholder="章节名替换规则,一行一个"></textarea>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubChapterGetChapterKey">章节地址(PubChapter_GetChapterKey)</label>
								<div class="col-sm-10">
									<input type="text" id="pubChapterGetChapterKey" name="pubChapterGetChapterKey" th:field="*{pubChapterGetChapterKey}" placeholder="章节地址" class="col-xs-10 col-sm-5"/>
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="pubChapterGetChapterKeyIgnoreCase" name="pubChapterGetChapterKeyIgnoreCase" th:field="*{pubChapterGetChapterKeyIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span>
									<span class="help-block">获得章节地址(章节编号)，所获得的数量必须和章节名相同。记录变量{ChapterKey}</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentUrl">内容页地址(PubContentUrl)</label>
								<div class="col-sm-10">
									<input type="text" id="pubContentUrl" name="pubContentUrl" th:field="*{pubContentUrl}" placeholder="内容页地址" class="col-xs-10 col-sm-5" />
									<span class="help-block">章节内容页地址 可调用{ChapterKey} {NovelKey} {NovelKey2}变量</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentUrl2">真实内容页地址(PubContentUrl2)</label>
								<div class="col-sm-10">
									<input type="text" id="pubContentUrl2" name="pubContentUrl2" th:field="*{pubContentUrl2}" placeholder="内容页地址" class="col-xs-10 col-sm-5"/>
									<span class="help-block">真实章节内容页地址,结果为内容页地址的子集, 一般用于解决目标站内容由js输出问题, 可调用{ChapterKey} {NovelKey} {NovelKey2}变量</span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentText">章节内容(PubContentText)</label>
								<div class="col-sm-10">
									<input type="text" id="pubContentText" name="pubContentText" th:field="*{pubContentText}" placeholder="章节内容" class="col-xs-10 col-sm-5" />
									<span class="help-inline col-xs-2 col-sm-2">
									<label class="middle">
									<input type="checkbox" id="pubContentTextIgnoreCase" name="pubContentTextIgnoreCase" th:field="*{pubContentTextIgnoreCase}" value="IgnoreCase"/>
									<span class="lbl">忽略大小写</span>
									</label>
									</span> <span class="help-block"></span>
								</div>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentTextASCII">章节内容从ASCII转为NATIVE(PubContentText_ASCII)</label>
								<span class="help-inline col-xs-2 col-sm-2">
								<label class="middle">
								<input type="checkbox" id="pubContentTextASCII" name="pubContentTextASCII" th:field="*{pubContentTextASCII}" value="True"/>
								<span class="lbl"></span>
								</label>
								</span>
								<span class="help-block">某些站点中采集到的内容全部是ASCII或者很多ASCII， 选中此处， 将会把ASCII转换成正常字符</span>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentTextBJ2QJ">全角转半角（PubContentText_BJ2QJ）</label>
								<span class="help-inline col-xs-2 col-sm-2">
								<label class="middle">
								<input type="checkbox" id="pubContentTextBJ2QJ" name="pubContentTextBJ2QJ" th:field="*{pubContentTextBJ2QJ}" value="True"/>
								<span class="lbl"></span>
								</label>
								</span>
								<span class="help-block">章节内容中全角字符转为半角字符</span>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentTextFT2JT">繁体转简体（PubContentText_FT2JT）</label>
								<span class="help-inline col-xs-2 col-sm-2">
								<label class="middle">
								<input type="checkbox" id="pubContentTextFT2JT" name="pubContentTextFT2JT" th:field="*{pubContentTextFT2JT}" value="True"/>
								<span class="lbl"></span>
								</label>
								</span>
								<span class="help-block">章节内容将繁体转简体</span>
							</div>
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="pubContentTextFilterPattern">章节内容替换</label>
								<div class="col-sm-10 col-sm-5">
									<textarea class="form-control" id="pubContentTextFilterPattern" name="pubContentTextFilterPattern" th:field="*{pubContentTextFilterPattern}" placeholder="章节内容替换规则,一行一个"></textarea>
								</div>
							</div>
							<div class="clearfix">
								<div class="col-md-offset-3 col-md-9">
									<button class="btn btn-warning" type="button" onclick="testRule()">
										<i class="ace-icon fa fa-caret-square-o-right bigger-110"></i>测试
									</button>
								</div>
							</div>
							<hr />
							<div class="form-group">
								<label class="col-sm-2 control-label no-padding-right" for="ruleFileName">规则文件名</label>
								<div class="col-sm-10">
									<input type="text" id="ruleFileName" name="ruleFileName" th:field="*{ruleFileName}" placeholder="规则文件名" class="col-xs-10 col-sm-5"/>
									<span class="help-block">请输入要保存的文件名，留空则随机生成文件名</span>
								</div>
							</div>
						</div>
					</div>
				</div>
				<div class="clearfix form-actions">
					<div class="col-md-offset-3 col-md-9">
						<button type="submit" class="btn btn-info">保存规则</button>
					</div>
				</div>
			</form>
		</div>
	</div>
	<!-- /.container -->
	<div id="console" class="hide"></div>
	<script type="text/javascript" th:src="@{/js/jquery1.11.0.min.js}"></script>
	<script type="text/javascript" th:src="@{/js/jquery-ui.min.js}"></script>
	<script type="text/javascript" src="webjars/bootstrap/3.3.7/js/bootstrap.min.js"></script>

	<script type="text/javascript" th:src="@{/js/rule.js}"></script>
</body>
</html>

